Kernel: SageMath 10.1

Color Good Bad Project

With this project, the aim is to categorize what colors I perceive as good or bad across multiple graphs.

I went to the Color Good Bad website

good=[[202,30,237],[41,249,74],[105,79,187],[42,169,247],[79,115,95],[42,206,231],[55,166,113],[16,243,33],[174,186,210],[15,60,72],[150,245,204],[227,1,137],[167,156,182],[43,122,150],[84,16,124],[89,23,56],[227,122,178],[225,75,202],[69,158,130],[14,232,243],[213,15,128],[96,135,234],[100,102,220],[49,164,73],[174,24,226],[102,196,93],[100,164,222],[125,218,80],[12,88,25],[113,183,217],[142,137,182],[112,196,81],[242,135,13],[154,112,252],[122,75,244],[22,149,170],[65,138,249],[24,15,74],[69,218,20],[14,81,254],[130,183,199],[163,76,254],[107,40,132],[147,79,183],[135,111,250],[255,68,91],[220,53,214],[248,89,47],[210,151,252],[169,69,247],[40,61,149],[141,194,201],[149,235,164],[66,230,171],[21,23,15],[200,38,217],[10,164,208],[15,228,108],[9,190,216],[128,28,249],[6,46,162],[42,127,249],[0,252,92],[134,239,164],[198,252,231],[240,14,165],[18,18,186],[88,3,203],[58,245,55],[120,247,157],[56,150,220],[4,214,34],[72,88,150],[93,241,204],[248,5,132],[132,215,26],[8,7,182],[45,154,201],[79,232,231],[157,225,242],[1,236,249],[16,219,145],[97,240,249],[5,41,99],[9,130,233],[77,11,140],[10,183,240],[231,4,184],[29,54,222],[141,39,126],[50,200,177],[166,60,231],[67,62,191],[128,69,245],[108,52,214],[251,149,42],[233,27,224],[76,39,205],[124,242,78],[192,64,85],[68,226,113],[65,48,131]] bad=[[206,254,51],[214,109,79],[191,50,63],[207,201,26],[82,14,43],[96,24,19],[70,102,21],[97,94,97],[41,45,54],[162,81,95],[221,156,113],[184,39,4],[233,234,82],[233,114,158],[95,65,19],[107,156,60],[94,75,19],[72,36,50],[97,177,15],[195,211,163],[215,85,185],[85,85,247],[227,116,166],[166,170,93],[92,142,145],[41,40,14],[196,254,26],[13,91,76],[126,150,101],[201,190,128],[183,193,169],[181,83,179],[205,220,80],[21,143,103],[204,207,201],[79,50,12],[255,246,7],[69,37,69],[206,226,190],[219,55,141],[236,201,86],[233,200,149],[237,2,167],[148,80,62],[178,29,100],[193,176,181],[221,132,163],[15,184,32],[104,117,91],[101,36,64],[171,150,160],[49,125,41],[106,78,95],[154,36,18],[202,253,206],[39,23,92],[211,107,114],[63,68,69],[15,105,50],[96,4,112],[64,90,136],[125,39,76],[219,82,205],[39,121,137],[9,36,68],[48,206,240],[131,136,9],[238,120,128],[207,47,139],[37,60,69],[186,146,141],[184,214,197],[43,110,43],[161,198,111],[48,161,118],[61,163,88],[198,201,145],[77,160,149],[217,80,104],[91,102,126],[83,38,47],[206,175,60],[95,157,168],[200,79,87],[196,129,28],[75,130,2],[174,161,132]]

Plot the colors in rectangular RGB space.

If we use r as xx, and g as yy, and b as zz, we can plot in rectangular RGB.

from sage.plot.plot3d.shapes import * graph = Graphics() size = 0.03 for r,g,b in good: x = r/255 y = g/255 z = b/255 c = Color(x,y,z) graph += Sphere(size, color=c).translate(x,y,z) for r,g,b in bad: x,y,z = [r/255,g/255,b/255] c = Color(x,y,z) graph += Box([size,size,size], color=c).translate(x,y,z) show(graph, aspect_ratio=1, #projection="orthographic", axes_labels = ("red","green","blue") )
from sage.plot.plot3d.shapes import * graph = Graphics() size = 0.03 for r,g,b in good: r = r/255 g = g/255 b = b/255 c = Color(r,g,b) h,s,v = c.hsv() graph += Sphere(size, color=c).translate(h,s,v) for r,g,b in bad: r = r/255 g = g/255 b = b/255 c = Color(r,g,b) h,s,v = c.hsv() graph += Box([size,size,size], color=c).translate(h,s,v) show(graph, aspect_ratio=1, #projection="orthographic", axes_labels = ("hue","sat","val") )
from sage.plot.plot3d.shapes import * graph = Graphics() size = 0.05 for r,g,b in good: r = r/255 g = g/255 b = b/255 c = Color(r,g,b) h,s,v = c.hsv() x = s*cos(2*pi*h) y = s*sin(2*pi*h) z = v graph += Sphere(size, color=c).translate(x,y,z) for r,g,b in bad: r = r/255 g = g/255 b = b/255 c = Color(r,g,b) h,s,v = c.hsv() x = s*cos(2*pi*h) y = s*sin(2*pi*h) z = v graph += Box([size,size,size], color=c).translate(x,y,z) show(graph, aspect_ratio=1, #projection="orthographic", axes_labels=False )
from sage.plot.plot3d.shapes import * graph = Graphics() size = 0.03 for r,g,b in good: r = r/255 g = g/255 b = b/255 c = Color(r,g,b) h,s,l = c.hsl() graph += Sphere(size, color=c).translate(h,s,l) for r,g,b in bad: r = r/255 g = g/255 b = b/255 c = Color(r,g,b) h,s,l = c.hsl() graph += Box([size,size,size], color=c).translate(h,s,l) show(graph, aspect_ratio=1, #projection="orthographic", axes_labels = ("hue","sat","lit") )
from sage.plot.plot3d.shapes import * graph = Graphics() size = 0.05 for r,g,b in good: r = r/255 g = g/255 b = b/255 c = Color(r,g,b) h,s,l = c.hsl() x = s*cos(2*pi*h) y = s*sin(2*pi*h) z = l graph += Sphere(size, color=c).translate(x,y,z) for r,g,b in bad: r = r/255 g = g/255 b = b/255 c = Color(r,g,b) h,s,l = c.hsl() x = s*cos(2*pi*h) y = s*sin(2*pi*h) z = l graph += Box([size,size,size], color=c).translate(x,y,z) show(graph, aspect_ratio=1, #projection="orthographic", axes_labels=False )

What I noticed from my graph...

  • I prefer cooler colors to warmer colors

  • I prefer more saturated colors to less saturated ones

  • Some of the colors I decided were good are very similar to ones I decided are bad. The reason for this could be that the choices of my color are directly influenced to how I feel about it in that specific moment, as the way one feels about one thing never stays the same. This is not to say that the selection of colors is completely arbitrary, but it does suggest that preference does change even in a short period of time. This could lead to a potential hypothesis that, if this were to be an extended project over several days, that the selection of colors fluctuate between days based on the change in personal preference.